/*

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

*/
module derelict.freetype.functions;

private
{
    import derelict.freetype.types;
}

extern(C)
{
    alias nothrow FT_Error function(FT_Library *alibrary) da_FT_Init_FreeType;
    alias nothrow FT_Error function(FT_Library library) da_FT_Done_FreeType;
    alias nothrow FT_Error function(FT_Library library, const(char)* filepathname, FT_Long face_index, FT_Face *aface) da_FT_New_Face;
    alias nothrow FT_Error function(FT_Library library, in FT_Byte* file_base, FT_Long file_size, FT_Long face_index, FT_Face *aface) da_FT_New_Memory_Face;
    alias nothrow FT_Error function(FT_Library library, in FT_Open_Args* args, FT_Long face_index, FT_Face *aface) da_FT_Open_Face;
    alias nothrow FT_Error function(FT_Face face, const(char)* filepathname) da_FT_Attach_File;
    alias nothrow FT_Error function(FT_Face face, FT_Open_Args* parameters) da_FT_Attach_Stream;
    alias nothrow FT_Error function(FT_Face face) da_FT_Reference_Face;
    alias nothrow FT_Error function(FT_Face face) da_FT_Done_Face;
    alias nothrow FT_Error function(FT_Face face, FT_Int strike_index) da_FT_Select_Size;
    alias nothrow FT_Error function(FT_Face face, FT_Size_Request req) da_FT_Request_Size;
    alias nothrow FT_Error function(FT_Face face, FT_F26Dot6 char_width, FT_F26Dot6 char_height, FT_UInt horz_resolution, FT_UInt vert_resolution) da_FT_Set_Char_Size;
    alias nothrow FT_Error function(FT_Face face, FT_UInt pixel_width, FT_UInt pixel_height) da_FT_Set_Pixel_Sizes;
    alias nothrow FT_Error function(FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags) da_FT_Load_Glyph;
    alias nothrow FT_Error function(FT_Face face, FT_ULong char_code, FT_Int32 load_flags) da_FT_Load_Char;
    alias nothrow void function(FT_Face face, FT_Matrix* matrix, FT_Vector* delta) da_FT_Set_Transform;
    alias nothrow FT_Error function(FT_GlyphSlot slot, FT_Render_Mode render_mode) da_FT_Render_Glyph;
    alias nothrow FT_Error function(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning) da_FT_Get_Kerning;
    alias nothrow FT_Error function(FT_Face face, FT_Fixed point_size, FT_Int degree, FT_Fixed* akerning) da_FT_Get_Track_Kerning;
    alias nothrow FT_Error function(FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max) da_FT_Get_Glyph_Name;
    alias nothrow const(char)* function(FT_Face face) da_FT_Get_Postscript_Name;
    alias nothrow FT_Error function(FT_Face face, FT_Encoding encoding) da_FT_Select_Charmap;
    alias nothrow FT_Error function(FT_Face face, FT_CharMap charmap) da_FT_Set_Charmap;
    alias nothrow FT_Int function(FT_CharMap charmap) da_FT_Get_Charmap_Index;
    alias nothrow FT_UInt function(FT_Face face, FT_ULong charcode) da_FT_Get_Char_Index;
    alias nothrow FT_ULong function(FT_Face face, FT_UInt *agindex) da_FT_Get_First_Char;
    alias nothrow FT_ULong function(FT_Face face, FT_ULong char_code, FT_UInt *agindex) da_FT_Get_Next_Char;
    alias nothrow FT_UInt function(FT_Face face, FT_String* glyph_name) da_FT_Get_Name_Index;
    alias nothrow FT_Long function(FT_Long a, FT_Long b, FT_Long c) da_FT_MulDiv;
    alias nothrow FT_Long function(FT_Long a, FT_Long b) da_FT_MulFix;
    alias nothrow FT_Long function(FT_Long a, FT_Long b) da_FT_DivFix;
    alias nothrow FT_Fixed function(FT_Fixed a) da_FT_RoundFix;
    alias nothrow FT_Fixed function(FT_Fixed a) da_FT_CeilFix;
    alias nothrow FT_Fixed function(FT_Fixed a) da_FT_FloorFix;
    alias nothrow void function(FT_Vector* vec, FT_Matrix* matrix) da_FT_Vector_Transform;
    alias nothrow void function(FT_Library library, FT_Int *amajor, FT_Int *aminor, FT_Int *apatch) da_FT_Library_Version;
    alias nothrow FT_Bool function(FT_Face face) da_FT_Face_CheckTrueTypePatents;
    alias nothrow FT_Bool function(FT_Face face, FT_Bool value) da_FT_Face_SetUnpatentedHinting;
    alias nothrow FT_ListNode function(FT_List list, void* data) da_FT_List_Find;
    alias nothrow void function(FT_List list, FT_ListNode node) da_FT_List_Add;
    alias nothrow void function(FT_List list, FT_ListNode node) da_FT_List_Insert;
    alias nothrow void function(FT_List list, FT_ListNode node) da_FT_List_Remove;
    alias nothrow void function(FT_List list, FT_ListNode node) da_FT_List_Up;
    alias nothrow FT_Error function(FT_List list, FT_List_Iterator iterator, void* user) da_FT_List_Iterate;
    alias nothrow void function(FT_List list, FT_List_Destructor destroy, FT_Memory memory, void* user) da_FT_List_Finalize;
    alias nothrow FT_Error function(FT_Outline* outline, in FT_Outline_Funcs* func_interface, void* user) da_FT_Outline_Decompose;
    alias nothrow FT_Error function(FT_Library library, FT_UInt numPoints, FT_Int numContours, FT_Outline *anoutline) da_FT_Outline_New;
    alias nothrow FT_Error function(FT_Memory memory, FT_UInt numPoints, FT_Int numContours, FT_Outline *anoutline) da_FT_Outline_New_Internal;
    alias nothrow FT_Error function(FT_Library library, FT_Outline* outline) da_FT_Outline_Done;
    alias nothrow FT_Error function(FT_Memory memory, FT_Outline* outline) da_FT_Outline_Done_Internal;
    alias nothrow FT_Error function(FT_Outline* outline) da_FT_Outline_Check;
    alias nothrow void function(in FT_Outline* outline, FT_BBox *acbox) da_FT_Outline_Get_CBox;
    alias nothrow void function(in FT_Outline* outline, FT_Pos xOffset, FT_Pos yOffset) da_FT_Outline_Translate;
    alias nothrow FT_Error function(in FT_Outline* source, FT_Outline *target) da_FT_Outline_Copy;
    alias nothrow void function(in FT_Outline* outline, in FT_Matrix* matrix) da_FT_Outline_Transform;
    alias nothrow FT_Error function(FT_Outline* outline, FT_Pos strength) da_FT_Outline_Embolden;
    alias nothrow void function(FT_Outline* outline) da_FT_Outline_Reverse;
    alias nothrow FT_Error function(FT_Library library, FT_Outline* outline, in FT_Bitmap *abitmap) da_FT_Outline_Get_Bitmap;
    alias nothrow FT_Error function(FT_Library library, FT_Outline* outline, FT_Raster_Params* params) da_FT_Outline_Render;
    alias nothrow FT_Orientation function(FT_Outline* outline) da_FT_Outline_Get_Orientation;
    alias nothrow FT_Error function(FT_Face face, FT_Size* size) da_FT_New_Size;
    alias nothrow FT_Error function(FT_Size size) da_FT_Done_Size;
    alias nothrow FT_Error function(FT_Size size) da_FT_Activate_Size;
    alias nothrow FT_Error function(FT_Library library, in FT_Module_Class* clazz) da_FT_Add_Module;
    alias nothrow FT_Module function(FT_Library library, const(char)* module_name) da_FT_Get_Module;
    alias nothrow FT_Error function(FT_Library library, FT_Module mod) da_FT_Remove_Module;
    alias nothrow FT_Error function(FT_Library library) da_FT_Reference_Library;
    alias nothrow FT_Error function(FT_Memory memory, FT_Library *alibrary) da_FT_New_Library;
    alias nothrow FT_Error function(FT_Library library) da_FT_Done_Library;
    alias nothrow void function(FT_Library library, FT_UInt hook_index, FT_DebugHook_Func debug_hook) da_FT_Set_Debug_Hook;
    alias nothrow void function(FT_Library library) da_FT_Add_Default_Modules;
    alias nothrow FT_TrueTypeEngineType function(FT_Library library) da_FT_Get_TrueType_Engine_Type;
    alias nothrow FT_Renderer function(FT_Library library, FT_Glyph_Format format) da_FT_Get_Renderer;
    alias nothrow FT_Error function(FT_Library library, FT_Renderer renderer, FT_UInt num_params, FT_Parameter* parameters) da_FT_Set_Renderer;
    alias nothrow FT_Int function(FT_Face face) da_FT_Has_PS_Glyph_Names;
    alias nothrow FT_Error function(FT_Face face, PS_FontInfoRec *afont_info) da_FT_Get_PS_Font_Info;
    alias nothrow FT_Error function(FT_Face face, PS_PrivateRec *afont_private) da_FT_Get_PS_Font_Private;
    alias nothrow FT_Long function(FT_Face,PS_Dict_Keys,FT_UInt,void*,FT_Long) da_FT_Get_PS_Font_Value;
    alias nothrow void* function(FT_Face face, FT_Sfnt_Tag tag) da_FT_Get_Sfnt_Table;
    alias nothrow FT_Error function(FT_Face face, FT_ULong tag, FT_Long offset, FT_Byte* buffer, FT_ULong* length) da_FT_Load_Sfnt_Table;
    alias nothrow FT_Error function(FT_Face face, FT_UInt table_index, FT_ULong *tag, FT_ULong *length) da_FT_Sfnt_Table_Info;
    alias nothrow FT_ULong function(FT_CharMap charmap) da_FT_Get_CMap_Language_ID;
    alias nothrow FT_ULong function(FT_CharMap charmap) da_FT_Get_CMap_Format;
    alias nothrow FT_Error function(FT_Face face, const(char)** acharset_encoding, const(char)** acharset_registry) da_FT_Get_BDF_Charset_ID;
    alias nothrow FT_Error function(FT_Face face, const(char)* prop_name, BDF_PropertyRec *aproperty) da_FT_Get_BDF_Property;
    alias nothrow FT_Error function(FT_Stream stream, FT_Stream source) da_FT_Stream_OpenGzip;
    alias nothrow FT_Error function(FT_Stream stream, FT_Stream source) da_FT_Stream_OpenLZW;
    alias nothrow FT_Error function(FT_Face face, FT_WinFNT_HeaderRec *aheader) da_FT_Get_WinFNT_Header;
    alias nothrow FT_Error function(FT_GlyphSlot slot, FT_Glyph *aglyph) da_FT_Get_Glyph;
    alias nothrow FT_Error function(FT_Glyph source, FT_Glyph *target) da_FT_Glyph_Copy;
    alias nothrow FT_Error function(FT_Glyph glyph, FT_Matrix* matrix, FT_Vector* delta) da_FT_Glyph_Transform;
    alias nothrow void function(FT_Glyph glyph, FT_UInt bbox_mode, FT_BBox *acbox) da_FT_Glyph_Get_CBox;
    alias nothrow FT_Error function(FT_Glyph* the_glyph, FT_Render_Mode render_mode, FT_Vector* origin, FT_Bool destroy) da_FT_Glyph_To_Bitmap;
    alias nothrow void function(FT_Glyph glyph) da_FT_Done_Glyph;
    alias nothrow void function(in FT_Matrix* a, FT_Matrix* b) da_FT_Matrix_Multiply;
    alias nothrow FT_Error function(FT_Matrix* matrix) da_FT_Matrix_Invert;
    alias nothrow void function(FT_Bitmap *abitmap) da_FT_Bitmap_New;
    alias nothrow FT_Error function(FT_Library library, in FT_Bitmap *source, FT_Bitmap *target) da_FT_Bitmap_Copy;
    alias nothrow FT_Error function(FT_Library library, FT_Bitmap* bitmap, FT_Pos xStrength, FT_Pos yStrength) da_FT_Bitmap_Embolden;
    alias nothrow FT_Error function(FT_Library library, in FT_Bitmap *source, FT_Bitmap *target, FT_Int alignment) da_FT_Bitmap_Convert;
    alias nothrow FT_Error function(FT_Library library, FT_Bitmap *bitmap) da_FT_Bitmap_Done;
    alias nothrow FT_Error function(FT_Outline* outline, FT_BBox *abbox) da_FT_Outline_Get_BBox;
    alias nothrow FT_Error function(FT_Library library, FT_UInt max_faces, FT_UInt max_sizes, FT_ULong max_bytes, FTC_Face_Requester requester, FT_Pointer req_data, FTC_Manager *amanager) da_FTC_Manager_New;
    alias nothrow void function(FTC_Manager manager) da_FTC_Manager_Reset;
    alias nothrow void function(FTC_Manager manager) da_FTC_Manager_Done;
    alias nothrow FT_Error function(FTC_Manager manager, FTC_FaceID face_id, FT_Face *aface) da_FTC_Manager_LookupFace;
    alias nothrow FT_Error function(FTC_Manager manager, FTC_Scaler scaler, FT_Size *asize) da_FTC_Manager_LookupSize;
    alias nothrow void function(FTC_Node node, FTC_Manager manager) da_FTC_Node_Unref;
    alias nothrow void function(FTC_Manager manager, FTC_FaceID face_id) da_FTC_Manager_RemoveFaceID;
    alias nothrow FT_Error function(FTC_Manager manager, FTC_CMapCache *acache) da_FTC_CMapCache_New;
    alias nothrow FT_UInt function(FTC_CMapCache cache, FTC_FaceID face_id, FT_Int cmap_index, FT_UInt32 char_code) da_FTC_CMapCache_Lookup;
    alias nothrow FT_Error function(FTC_Manager manager, FTC_ImageCache *acache) da_FTC_ImageCache_New;
    alias nothrow FT_Error function(FTC_ImageCache cache, FTC_ImageType type, FT_UInt gindex, FT_Glyph *aglyph, FTC_Node *anode) da_FTC_ImageCache_Lookup;
    alias nothrow FT_Error function(FTC_ImageCache cache, FTC_Scaler scaler, FT_ULong load_flags, FT_UInt gindex, FT_Glyph *aglyph, FTC_Node *anode) da_FTC_ImageCache_LookupScaler;
    alias nothrow FT_Error function(FTC_Manager manager, FTC_SBitCache *acache) da_FTC_SBitCache_New;
    alias nothrow FT_Error function(FTC_SBitCache cache, FTC_ImageType type, FT_UInt gindex, FTC_SBit *sbit, FTC_Node *anode) da_FTC_SBitCache_Lookup;
    alias nothrow FT_Error function(FTC_SBitCache cache, FTC_Scaler scaler, FT_ULong load_flags, FT_UInt gindex, FTC_SBit *sbit,FTC_Node *anode) da_FTC_SBitCache_LookupScaler;
    alias nothrow FT_Error function(FT_Face face, FT_Multi_Master *amaster) da_FT_Get_Multi_Master;
    alias nothrow FT_Error function(FT_Face face, FT_MM_Var* *amaster) da_FT_Get_MM_Var;
    alias nothrow FT_Error function(FT_Face face, FT_UInt num_coords, FT_Long* coords) da_FT_Set_MM_Design_Coordinates;
    alias nothrow FT_Error function(FT_Face face, FT_UInt num_coords, FT_Fixed* coords) da_FT_Set_Var_Design_Coordinates;
    alias nothrow FT_Error function(FT_Face face, FT_UInt num_coords, FT_Fixed* coords) da_FT_Set_MM_Blend_Coordinates;
    alias nothrow FT_Error function(FT_Face face, FT_UInt num_coords, FT_Fixed* coords) da_FT_Set_Var_Blend_Coordinates;
    alias nothrow FT_UInt function(FT_Face face) da_FT_Get_Sfnt_Name_Count;
    alias nothrow FT_Error function(FT_Face face, FT_UInt idx, FT_SfntName *aname) da_FT_Get_Sfnt_Name;
    alias nothrow FT_Error function(FT_Face face, FT_UInt validation_flags, FT_Bytes *BASE_table, FT_Bytes *GDEF_table, FT_Bytes *GPOS_table, FT_Bytes *GSUB_table, FT_Bytes *JSTF_table) da_FT_OpenType_Validate;
    alias nothrow void function (FT_Face face, FT_Bytes table) da_FT_OpenType_Free;
    alias nothrow FT_Error function(FT_Face face, FT_UInt validation_flags, FT_Bytes tables[FT_VALIDATE_GX_LENGTH], FT_UInt table_length) da_FT_TrueTypeGX_Validate;
    alias nothrow void function(FT_Face face, FT_Bytes table) da_FT_TrueTypeGX_Free;
    alias nothrow FT_Error function(FT_Face face, FT_UInt validation_flags, FT_Bytes *ckern_table) da_FT_ClassicKern_Validate;
    alias nothrow void function(FT_Face face, FT_Bytes table) da_FT_ClassicKern_Free;
    alias nothrow FT_Error function(FT_Face face, FT_UInt *aoutline_resolution, FT_UInt *ametrics_resolution, FT_Fixed *ametrics_x_scale, FT_Fixed *ametrics_y_scale) da_FT_Get_PFR_Metrics;
    alias nothrow FT_Error function(FT_Face face, FT_UInt left, FT_UInt right, FT_Vector *avector) da_FT_Get_PFR_Kerning;
    alias nothrow FT_Error function(FT_Face face, FT_UInt gindex, FT_Pos *aadvance) da_FT_Get_PFR_Advance;
    alias nothrow FT_StrokerBorder function(FT_Outline* outline) da_FT_Outline_GetInsideBorder;
    alias nothrow FT_StrokerBorder function(FT_Outline* outline) da_FT_Outline_GetOutsideBorder;
    alias nothrow FT_Error function(FT_Memory memory, FT_Stroker *astroker) da_FT_Stroker_New;
    alias nothrow void function(FT_Stroker stroker, FT_Fixed radius, FT_Stroker_LineCap line_cap, FT_Stroker_LineJoin line_join, FT_Fixed miter_limit) da_FT_Stroker_Set;
    alias nothrow void function(FT_Stroker stroker) da_FT_Stroker_Rewind;
    alias nothrow FT_Error function(FT_Stroker stroker, FT_Outline* outline, FT_Bool opened) da_FT_Stroker_ParseOutline;
    alias nothrow FT_Error function(FT_Stroker stroker, FT_Vector* to, FT_Bool open) da_FT_Stroker_BeginSubPath;
    alias nothrow FT_Error function(FT_Stroker stroker) da_FT_Stroker_EndSubPath;
    alias nothrow FT_Error function(FT_Stroker stroker, FT_Vector* to) da_FT_Stroker_LineTo;
    alias nothrow FT_Error function(FT_Stroker stroker, FT_Vector* control, FT_Vector* to) da_FT_Stroker_ConicTo;
    alias nothrow FT_Error function(FT_Stroker stroker, FT_Vector* control1, FT_Vector* control2, FT_Vector* to) da_FT_Stroker_CubicTo;
    alias nothrow FT_Error function(FT_Stroker stroker, FT_StrokerBorder border, FT_UInt *anum_points, FT_UInt *anum_contours) da_FT_Stroker_GetBorderCounts;
    alias nothrow void function(FT_Stroker stroker, FT_StrokerBorder border, FT_Outline* outline) da_FT_Stroker_ExportBorder;
    alias nothrow FT_Error function(FT_Stroker stroker, FT_UInt *anum_points, FT_UInt *anum_contours) da_FT_Stroker_GetCounts;
    alias nothrow void function(FT_Stroker stroker, FT_Outline* outline) da_FT_Stroker_Export;
    alias nothrow void function(FT_Stroker stroker) da_FT_Stroker_Done;
    alias nothrow FT_Error function(FT_Glyph *pglyph, FT_Stroker stroker, FT_Bool destroy) da_FT_Glyph_Stroke;
    alias nothrow FT_Error function(FT_Glyph *pglyph, FT_Stroker stroker, FT_Bool inside, FT_Bool destroy) da_FT_Glyph_StrokeBorder;
    alias nothrow FT_Error function(FT_GlyphSlot slot) da_FT_GlyphSlot_Own_Bitmap;
    alias nothrow void function(FT_GlyphSlot slot) da_FT_GlyphSlot_Embolden;
    alias nothrow void function(FT_GlyphSlot slot) da_FT_GlyphSlot_Oblique;
    alias nothrow const(char)* function(FT_Face face) da_FT_Get_X11_Font_Format;
    alias nothrow FT_Fixed function(FT_Angle angle) da_FT_Sin;
    alias nothrow FT_Fixed function(FT_Angle angle) da_FT_Cos;
    alias nothrow FT_Fixed function(FT_Angle angle) da_FT_Tan;
    alias nothrow FT_Angle function(FT_Fixed x,FT_Fixed y) da_FT_Atan2;
    alias nothrow FT_Angle function(FT_Angle angle1, FT_Angle angle2) da_FT_Angle_Diff;
    alias nothrow void function(FT_Vector* vec, FT_Angle angle) da_FT_Vector_Unit;
    alias nothrow void function(FT_Vector* vec, FT_Angle angle) da_FT_Vector_Rotate;
    alias nothrow FT_Fixed function(FT_Vector* vec) da_FT_Vector_Length;
    alias nothrow void function(FT_Vector* vec, FT_Fixed *length, FT_Angle *angle) da_FT_Vector_Polarize;
    alias nothrow void function(FT_Vector* vec, FT_Fixed length, FT_Angle angle) da_FT_Vector_From_Polar;
    alias nothrow FT_Error function(FT_Library library, FT_LcdFilter filter) da_FT_Library_SetLcdFilter;
    alias nothrow FT_Error function(FT_Library library, ubyte* weights) da_FT_Library_SetLcdFilterWeights;
    alias nothrow FT_Int function(FT_Face face, FT_UInt ppem) da_FT_Get_Gasp;
}

__gshared
{
    da_FT_Init_FreeType FT_Init_FreeType;
    da_FT_Done_FreeType FT_Done_FreeType;
    da_FT_New_Face FT_New_Face;
    da_FT_New_Memory_Face FT_New_Memory_Face;
    da_FT_Open_Face FT_Open_Face;
    da_FT_Attach_File FT_Attach_File;
    da_FT_Attach_Stream FT_Attach_Stream;
    da_FT_Reference_Face FT_Reference_Face;
    da_FT_Done_Face FT_Done_Face;
    da_FT_Select_Size FT_Select_Size;
    da_FT_Request_Size FT_Request_Size;
    da_FT_Set_Char_Size FT_Set_Char_Size;
    da_FT_Set_Pixel_Sizes FT_Set_Pixel_Sizes;
    da_FT_Load_Glyph FT_Load_Glyph;
    da_FT_Load_Char FT_Load_Char;
    da_FT_Set_Transform FT_Set_Transform;
    da_FT_Render_Glyph FT_Render_Glyph;
    da_FT_Get_Kerning FT_Get_Kerning;
    da_FT_Get_Track_Kerning FT_Get_Track_Kerning;
    da_FT_Get_Glyph_Name FT_Get_Glyph_Name;
    da_FT_Get_Postscript_Name FT_Get_Postscript_Name;
    da_FT_Select_Charmap FT_Select_Charmap;
    da_FT_Set_Charmap FT_Set_Charmap;
    da_FT_Get_Charmap_Index FT_Get_Charmap_Index;
    da_FT_Get_Char_Index FT_Get_Char_Index;
    da_FT_Get_First_Char FT_Get_First_Char;
    da_FT_Get_Next_Char FT_Get_Next_Char;
    da_FT_Get_Name_Index FT_Get_Name_Index;
    da_FT_MulDiv FT_MulDiv;
    da_FT_MulFix FT_MulFix;
    da_FT_DivFix FT_DivFix;
    da_FT_RoundFix FT_RoundFix;
    da_FT_CeilFix FT_CeilFix;
    da_FT_FloorFix FT_FloorFix;
    da_FT_Vector_Transform FT_Vector_Transform;
    da_FT_Library_Version FT_Library_Version;
    da_FT_Face_CheckTrueTypePatents FT_Face_CheckTrueTypePatents;
    da_FT_Face_SetUnpatentedHinting FT_Face_SetUnpatentedHinting;
    da_FT_List_Find FT_List_Find;
    da_FT_List_Add FT_List_Add;
    da_FT_List_Insert FT_List_Insert;
    da_FT_List_Remove FT_List_Remove;
    da_FT_List_Up FT_List_Up;
    da_FT_List_Iterate FT_List_Iterate;
    da_FT_List_Finalize FT_List_Finalize;
    da_FT_Outline_Decompose FT_Outline_Decompose;
    da_FT_Outline_New FT_Outline_New;
    da_FT_Outline_New_Internal FT_Outline_New_Internal;
    da_FT_Outline_Done FT_Outline_Done;
    da_FT_Outline_Done_Internal FT_Outline_Done_Internal;
    da_FT_Outline_Check FT_Outline_Check;
    da_FT_Outline_Get_CBox FT_Outline_Get_CBox;
    da_FT_Outline_Translate FT_Outline_Translate;
    da_FT_Outline_Copy FT_Outline_Copy;
    da_FT_Outline_Transform FT_Outline_Transform;
    da_FT_Outline_Embolden FT_Outline_Embolden;
    da_FT_Outline_Reverse FT_Outline_Reverse;
    da_FT_Outline_Get_Bitmap FT_Outline_Get_Bitmap;
    da_FT_Outline_Render FT_Outline_Render;
    da_FT_Outline_Get_Orientation FT_Outline_Get_Orientation;
    da_FT_New_Size FT_New_Size;
    da_FT_Done_Size FT_Done_Size;
    da_FT_Activate_Size FT_Activate_Size;
    da_FT_Add_Module FT_Add_Module;
    da_FT_Get_Module FT_Get_Module;
    da_FT_Remove_Module FT_Remove_Module;
    da_FT_Reference_Library FT_Reference_Library;
    da_FT_New_Library FT_New_Library;
    da_FT_Done_Library FT_Done_Library;
    da_FT_Set_Debug_Hook FT_Set_Debug_Hook;
    da_FT_Add_Default_Modules FT_Add_Default_Modules;
    da_FT_Get_TrueType_Engine_Type FT_Get_TrueType_Engine_Type;
    da_FT_Get_Renderer FT_Get_Renderer;
    da_FT_Set_Renderer FT_Set_Renderer;
    da_FT_Has_PS_Glyph_Names FT_Has_PS_Glyph_Names;
    da_FT_Get_PS_Font_Info FT_Get_PS_Font_Info;
    da_FT_Get_PS_Font_Private FT_Get_PS_Font_Private;
    da_FT_Get_PS_Font_Value FT_Get_PS_Font_Value;
    da_FT_Get_Sfnt_Table FT_Get_Sfnt_Table;
    da_FT_Load_Sfnt_Table FT_Load_Sfnt_Table;
    da_FT_Sfnt_Table_Info FT_Sfnt_Table_Info;
    da_FT_Get_CMap_Language_ID FT_Get_CMap_Language_ID;
    da_FT_Get_CMap_Format FT_Get_CMap_Format;
    da_FT_Get_BDF_Charset_ID FT_Get_BDF_Charset_ID;
    da_FT_Get_BDF_Property FT_Get_BDF_Property;
    da_FT_Stream_OpenGzip FT_Stream_OpenGzip;
    da_FT_Stream_OpenLZW FT_Stream_OpenLZW;
    da_FT_Get_WinFNT_Header FT_Get_WinFNT_Header;
    da_FT_Get_Glyph FT_Get_Glyph;
    da_FT_Glyph_Copy FT_Glyph_Copy;
    da_FT_Glyph_Transform FT_Glyph_Transform;
    da_FT_Glyph_Get_CBox FT_Glyph_Get_CBox;
    da_FT_Glyph_To_Bitmap FT_Glyph_To_Bitmap;
    da_FT_Done_Glyph FT_Done_Glyph;
    da_FT_Matrix_Multiply FT_Matrix_Multiply;
    da_FT_Matrix_Invert FT_Matrix_Invert;
    da_FT_Bitmap_New FT_Bitmap_New;
    da_FT_Bitmap_Copy FT_Bitmap_Copy;
    da_FT_Bitmap_Embolden FT_Bitmap_Embolden;
    da_FT_Bitmap_Convert FT_Bitmap_Convert;
    da_FT_Bitmap_Done FT_Bitmap_Done;
    da_FT_Outline_Get_BBox FT_Outline_Get_BBox;
    da_FTC_Manager_New FTC_Manager_New;
    da_FTC_Manager_Reset FTC_Manager_Reset;
    da_FTC_Manager_Done FTC_Manager_Done;
    da_FTC_Manager_LookupFace FTC_Manager_LookupFace;
    da_FTC_Manager_LookupSize FTC_Manager_LookupSize;
    da_FTC_Node_Unref FTC_Node_Unref;
    da_FTC_Manager_RemoveFaceID FTC_Manager_RemoveFaceID;
    da_FTC_CMapCache_New FTC_CMapCache_New;
    da_FTC_CMapCache_Lookup FTC_CMapCache_Lookup;
    da_FTC_ImageCache_New FTC_ImageCache_New;
    da_FTC_ImageCache_Lookup FTC_ImageCache_Lookup;
    da_FTC_ImageCache_LookupScaler FTC_ImageCache_LookupScaler;
    da_FTC_SBitCache_New FTC_SBitCache_New;
    da_FTC_SBitCache_Lookup FTC_SBitCache_Lookup;
    da_FTC_SBitCache_LookupScaler FTC_SBitCache_LookupScaler;
    da_FT_Get_Multi_Master FT_Get_Multi_Master;
    da_FT_Get_MM_Var FT_Get_MM_Var;
    da_FT_Set_MM_Design_Coordinates FT_Set_MM_Design_Coordinates;
    da_FT_Set_Var_Design_Coordinates FT_Set_Var_Design_Coordinates;
    da_FT_Set_MM_Blend_Coordinates FT_Set_MM_Blend_Coordinates;
    da_FT_Set_Var_Blend_Coordinates FT_Set_Var_Blend_Coordinates;
    da_FT_Get_Sfnt_Name_Count FT_Get_Sfnt_Name_Count;
    da_FT_Get_Sfnt_Name FT_Get_Sfnt_Name;
    da_FT_OpenType_Validate FT_OpenType_Validate;
    da_FT_OpenType_Free FT_OpenType_Free;
    da_FT_TrueTypeGX_Validate FT_TrueTypeGX_Validate;
    da_FT_TrueTypeGX_Free FT_TrueTypeGX_Free;
    da_FT_ClassicKern_Validate FT_ClassicKern_Validate;
    da_FT_ClassicKern_Free FT_ClassicKern_Free;
    da_FT_Get_PFR_Metrics FT_Get_PFR_Metrics;
    da_FT_Get_PFR_Kerning FT_Get_PFR_Kerning;
    da_FT_Get_PFR_Advance FT_Get_PFR_Advance;
    da_FT_Outline_GetInsideBorder FT_Outline_GetInsideBorder;
    da_FT_Outline_GetOutsideBorder FT_Outline_GetOutsideBorder;
    da_FT_Stroker_New FT_Stroker_New;
    da_FT_Stroker_Set FT_Stroker_Set;
    da_FT_Stroker_Rewind FT_Stroker_Rewind;
    da_FT_Stroker_ParseOutline FT_Stroker_ParseOutline;
    da_FT_Stroker_BeginSubPath FT_Stroker_BeginSubPath;
    da_FT_Stroker_EndSubPath FT_Stroker_EndSubPath;
    da_FT_Stroker_LineTo FT_Stroker_LineTo;
    da_FT_Stroker_ConicTo FT_Stroker_ConicTo;
    da_FT_Stroker_CubicTo FT_Stroker_CubicTo;
    da_FT_Stroker_GetBorderCounts FT_Stroker_GetBorderCounts;
    da_FT_Stroker_ExportBorder FT_Stroker_ExportBorder;
    da_FT_Stroker_GetCounts FT_Stroker_GetCounts;
    da_FT_Stroker_Export FT_Stroker_Export;
    da_FT_Stroker_Done FT_Stroker_Done;
    da_FT_Glyph_Stroke FT_Glyph_Stroke;
    da_FT_Glyph_StrokeBorder FT_Glyph_StrokeBorder;
    da_FT_GlyphSlot_Own_Bitmap FT_GlyphSlot_Own_Bitmap;
    da_FT_GlyphSlot_Embolden FT_GlyphSlot_Embolden;
    da_FT_GlyphSlot_Oblique FT_GlyphSlot_Oblique;
    da_FT_Get_X11_Font_Format FT_Get_X11_Font_Format;
    da_FT_Sin FT_Sin;
    da_FT_Cos FT_Cos;
    da_FT_Tan FT_Tan;
    da_FT_Atan2 FT_Atan2;
    da_FT_Angle_Diff FT_Angle_Diff;
    da_FT_Vector_Unit FT_Vector_Unit;
    da_FT_Vector_Rotate FT_Vector_Rotate;
    da_FT_Vector_Length FT_Vector_Length;
    da_FT_Vector_Polarize FT_Vector_Polarize;
    da_FT_Vector_From_Polar FT_Vector_From_Polar;
    da_FT_Library_SetLcdFilter FT_Library_SetLcdFilter;
    da_FT_Library_SetLcdFilterWeights FT_Library_SetLcdFilterWeights;
    da_FT_Get_Gasp FT_Get_Gasp;
}